diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-26 18:57:47 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-26 18:57:47 +0900 |
| commit | 2b5d063ab408a163c016358251192a07a337eaa7 (patch) | |
| tree | 71b9678169666211dc07663a1b1b9c8c0acf8b91 /app/[lng] | |
| parent | 5a370de52d6947d35aa07f9545c4f6a4d83eadd7 (diff) | |
(김준회) dolce: 다운로드 시각적 피드백 표시 (UX)
Diffstat (limited to 'app/[lng]')
| -rw-r--r-- | app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx b/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx index 513cfe1e..55bedb38 100644 --- a/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx +++ b/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx @@ -85,6 +85,7 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro const [files, setFiles] = useState<FileInfoItem[]>([]); const [isLoadingDetails, setIsLoadingDetails] = useState(false); const [, setIsLoadingFiles] = useState(false); + const [downloadingFileId, setDownloadingFileId] = useState<string | null>(null); // 다이얼로그 상태 const [bulkUploadDialogOpen, setBulkUploadDialogOpen] = useState(false); @@ -311,6 +312,7 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro const handleDownload = async (file: FileInfoItem) => { try { + setDownloadingFileId(file.FileId); toast.info(t("detailDialog.downloadPreparing")); const response = await fetch("/api/dolce/download", { method: "POST", @@ -337,6 +339,8 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro } catch (error) { console.error("파일 다운로드 실패:", error); toast.error(t("detailDialog.downloadError")); + } finally { + setDownloadingFileId(null); } }; @@ -375,7 +379,8 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro const fileColumns = createFileListColumns({ onDownload: handleDownload, onDelete: handleDeleteFile, - lng + lng, + downloadingFileId }); if (isLoading) { |
